<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CMG Technologies</title>
<meta name="Description" content="" />
<meta name="Keywords" content="" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<style type="text/css">
    p {
        text-align: justify;
    }
</style>
</head>
<body>
<div id="wrap">
  <div id="header">
    <h1><a href="#">NeuralStudio</a></h1>
    <h2>Aplicaci&oacute;n did&aacute;ctica para Redes Neuronales</h2>
  </div>
  <!--div id="menu"> <a href="#">Home</a> <a href="#">About </a> <a href="#">Contact</a></div-->
  <div id="content">
      <a href="index.html">Regresar</a>
     <h2><a name="mperceptron">Multilayer Perceptron</a></h2>
    <img src="mperceptron.png"/>
    <p>
        Los años ochenta significaron un resurgimiento de la investigación sobre redes neuronales, alcanzándose grandes
        logros en el campo. Además, durante este periodo se logró desarrollar exitosamente los primeros modelos de red
        neuronal multicapa, junto a sus respectivos algoritmos de entrenamiento. En el año de 1985, David Rumelhart,
        Geoffrey Hinton, Ronald Williams, David Parker y Yann Le Cun re-descubrieron independientemente el algoritmo
        Backpropagation (retro-propagación), el cual se convirtió a la postre en el algoritmo más utilizado en el
        entrenamiento de redes multicapa y dio origen al modelo de red neuronal más famoso, el perceptron multicapa
        (Feedforward Multilayer Perceptron).<br/>
        El trabajo de Minsky y Papert demostró rigurosamente las fortalezas y debilidades de los perceptrons de una sola
        capa, sin embargo los autores supusieron incorrectamente que la adición de nuevas capas no iba ayudar a resolver
        dichas limitaciones. Esta suposición desmotivó la investigación sobre redes neuronales y retrasó enormemente el
        desarrollo en el campo específico de las redes de entrenamiento supervisado. Muchos de los conocimientos necesarios
        para el desarrollo de algoritmos de entrenamiento para redes neuronales multicapa, específicamente del algoritmo
        de retro-propagación, habían sido desarrollados tiempo atrás, y la primera descripción del algoritmo Backpropagation
        se estableció en el trabajo de tesis doctoral de Paul Werbos en 1974. Sin embargo Rumelhart et al. fueron los
        primeros en proponer dicho algoritmo en el contexto del aprendizaje de redes neuronales multicapa.<br/>
        El problema inicial sobre el entrenamiento de redes multicapa planteado por Minsky y Papert fue denominado el
        “problema de la asignación de créditos”, y se refería fundamentalmente a la imposibilidad de establecer la
        responsabilidad de las neuronas de las capas intermedias de la red, sobre el error total. Ese es el punto específico
        que el algoritmo Backpropagation resuelve: usando cálculo diferencial, es posible cuantificar la contribución
        sobre el error de cada neurona en la red, y alterar sus parámetros con miras a minimizar el error. Este algoritmo
        puede ser visto como una generalización del algoritmo LMS (Adaline), y al ser aplicado en una red de una sola capa,
        el algoritmo Backpropagation toma su forma.<br/>
        Los perceptron multicapa son redes neuronales de entrenamiento supervisado, y se usan ampliamente en problemas de
        reconocimiento de patrones (identificación biométrica, visión artificial, reconocimiento del lenguaje hablado y
        escrito), aproximación de funciones (control automático), predicción de series temporales (mercado de valores),
        entre otros. Debido a la naturaleza del algoritmo Backpropagation, la función de transferencia de las neuronas que
        la componen debe ser diferenciable y suele ser la función logística sigmoidea, la función tangente hiperbólica o la
        función identidad (usualmente en la capa final). La tangente hiperbólica y la función logística sigmoidea sustituyen
        al limitador fuerte del perceptron de una sola capa, puesto que restringen la salida al intervalo (-1,1). La forma
        de dichas funciones se detalla a continuación:
    </p>
    <ul>
        <li>Logística sigmoide: </li>
    </ul>
    <img src="logsig.png"/>
    <ul>
        <li>Tangente hiperbólica: </li>
    </ul>
    <img src="tanghiper.png"/>
    <ul>
        <li>Lineal: </li>
    </ul>
    <img src="flineal.png"/>
    <p>
        Al ser una red de entrenamiento supervisado, el perceptron multicapa requiere de un conjunto de entradas con sus
        respectivas salidas para la fase de entrenamiento, y usualmente un número importante de repeticiones del proceso
        que conllevan la presentación de todos los datos de entrenamiento hasta alcanzar un error tolerable. En cada
        iteración, el ajuste de los pesos y los bias de las neuronas de la red, en la iteración k, deberá ser de la
        siguiente forma:
    </p>
    <img src="backprop.png"/>
    <p>
        donde α es la tasa de aprendizaje de la red, a es la entrada a la neurona, y S_m es la contribución al error
        de las neuronas de la capa m, la cual se define de la siguiente manera:<br/>
        Para la última capa de la red:
    </p>
    <img src="backprop2.png"/>
    <p>Para cualquier otra capa:</p>
    <img src="backprop3.png"/>
    <p>
        donde t es la salida esperada, a la salida real, c es el producto de la contribución  S_(m+1) al error de la capa
        anterior y los pesos de la capa siguiente asociados a la salida de esta neurona  y dF/dx es la derivada de la
        función de transferencia de la neurona en cuestión.
    </p>
  </div>
</div>
</body>
</html>